
<template>

</template>
<script>
import dingtalk from 'dingtalk-javascript-sdk';
import config  from "../common/js/config.js";
import { AjaxPlugin,Divider,LoadMore  } from 'vux';
export default {
  props: {
    uploadIndex: {

    }
  },
  components: {
     dingtalk,
     AjaxPlugin
  },
  data () {
    return {
      headerImage:'',
      picValue:'',
      pref:"upload",
      webUrl:config.baseurl,
      scantype:config.scantype
    }
  },
  mounted () {

  },
  methods: {
    scan () {//区分调用钉钉or微信
        if(this.scantype==0){//0表示钉钉扫码
            this.DdScan();
        }else{
            this.WxScan();
        }
    },
    scanResult (data) {//返回扫码的结果
      this.$emit("scanResult",{result:data})
    },
    DdScan(){//钉钉的扫码

       var  _this=this;
       dingtalk.ready(function() {
       const dd = dingtalk.apis;
       dd.biz.util.scan({
          type: "all" , // type 为 all、qrCode、barCode，默认是all。
          tips: "请扫描相关资产的条码",  //进入扫码页面显示的自定义文案
          onSuccess: function(data) {
             _this.scanResult(data.text)
          },
            onFail : function(err) {}
          })
       });
    },
    WxScan(){//微信扫码
        var  _this=this;
        var url=window.location.href.split('#')[0];
        AjaxPlugin.$http.post(this.webUrl+'/wd-wmt/Validate/wxtest?url='+encodeURIComponent(url)).then((data) => {
            this.password2=data;
            var  wx=this.$wechat;
            wx.config({
               beta: true,
               debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来，若要查看传入的参数，可以在pc端打开，参数信息会通过log打出，仅在pc端时才会打印。
               appId: this.password2.data.map.appId, // 必填，公众号的唯一标识
               timestamp: this.password2.data.map.timestamp, // 必填，生成签名的时间戳
               nonceStr: this.password2.data.map.nonceStr, // 必填，生成签名的随机串
               signature: this.password2.data.map.signature,// 必填，签名，见附录1
               jsApiList: [
                  'scanQRCode'
               ] // 必填，需要使用的JS接口列表，所有JS接口列表见附录2
            });

            wx.ready(function(){
                wx.scanQRCode({
                    desc: 'scanQRCode desc',
                    needResult: 1, // 默认为0，扫描结果由微信处理，1则直接返回扫描结果，
                    scanType: ["qrCode","barCode"], // 可以指定扫二维码还是一维码，默认二者都有
                    success: function (res) {
                        _this.scanResult(res.resultStr.replace(/(^\s*)|(\s*$)/g, ""))
                    },
                    error: function(res){
                       if(res.errMsg.indexOf('function_not_exist') > 0){
                           alert('版本过低请升级')
                       }
                    }
                });
            });
            wx.error(function(res){
                // config信息验证失败会执行error函数，如签名过期导致验证失败，具体错误信息可以打开config的debug模式查看，也可以在返回的res参数中查看，对于SPA可以在这里更新签名。
            });

        }).catch(e => {
              // 打印一下错误
          console.log(e)
        })
    },

  }
}
</script>

